home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / us20src.zip / UTIL.C < prev   
C/C++ Source or Header  |  1992-06-26  |  1KB  |  58 lines

  1. /*    UTIL.C:    Utility functions for MicroSPELL 2.0
  2.         Spell Checker and Corrector
  3.  
  4.         (C)opyright May 1991 by Daniel Lawrence
  5.         All Rights Reserved
  6. */
  7.  
  8. #include    <stdio.h>
  9. #include    "dopt.h"
  10. #include    "dstruct.h"
  11. #include    "ddef.h"
  12.  
  13. init_lcase()
  14.  
  15. {
  16.     register int index;
  17.  
  18.     /* init the lower case table */
  19.     for (index = 0; index < 128; index ++)
  20.         if ('A' <= index && index <= 'Z')
  21.             lcase[index] = index - 'A' + 'a';
  22.         else
  23.             lcase[index] = index;
  24. }
  25.  
  26. /* compare 2 strings, ignore the case of the first character */
  27.  
  28. int lowcmp(s1, s2)
  29.  
  30. char *s1;
  31. char *s2;
  32.  
  33. {
  34. #ifdef OLD_VERSION
  35.     register int result;
  36.  
  37.     result = 0;
  38.     while ((result == 0) && (*s1 || *s2))
  39.         result = lcase[*s1++] - lcase[*s2++];
  40.  
  41.     return(result);
  42. #else
  43. #if    0
  44.     while ((lcase[*s1] == lcase[*s2]) && (*s1 != 0)) {
  45.         s1++;
  46.         s2++;
  47.     }
  48.     return (lcase[*s1] - lcase[*s2]);
  49. #else
  50.     while (((*s1 == *s2) || (lcase[*s1] == lcase[*s2])) && (*s1 != 0)) {
  51.         s1++;
  52.         s2++;
  53.     }
  54.     return (lcase[*s1] - lcase[*s2]);
  55. #endif
  56. #endif
  57. }
  58.